// const BASE_URl_TEST = 'http://goapi.sanjitian.cn/api'
const BASE_URL_TEST = import.meta.env.VITE_BASE_PATH

// # 以前的接口规范
// get：获取数据，删除数据
// post：修改数据，修改状态，添加数据

// # rest接口规范：使用接口的请求方式+请求的资源路径 做到接口的唯一性
// get：获取数据
// post：添加数据
// put：修改数据
// patch：修改单个字段
// delete：删除数据

// get 查看角色分页列表
export const getRolesPage = async () => {
  try {
    const res = await fetch(BASE_URL_TEST + '/roles/page?pageNum=1&pageSize=1000000', {
      method: 'GET'
    })
    return res.json()
  } catch (error) {
    console.log('error')
  }
}

// post 添加角色
export const postRoles = async () => {
  const myHeaders = new Headers()
  // 设置请求携带的数据格式是 JSON 格式
  myHeaders.append('Content-Type', 'application/json')
  // 添加的自定义header信息（通常用户使用的密钥会放到这里，后端接受之后用于判断用户是否登录）
  myHeaders.append('Authorization', '')

  const newRole = JSON.stringify({
    id: 69,
    name: '受音委张特油结',
    code: '52',
    sort: 30,
    status: 92,
    dataScope: 72
  })

  // fetch 的配置项集合
  const requestOptions = {
    // 请求方式 GET POST PUT DELETE PATCH
    method: 'POST',
    //  请求头 header 信息
    headers: myHeaders,
    // 请求体 请求携带的数据
    body: newRole
  }
  const res = await fetch(BASE_URL_TEST + '/roles', requestOptions)
  console.log(res)

  if (res.ok) {
    return res.json()
  }
}

// put 通过角色的id修改角色信息
export const putRolesByRoleId = async () => {
  const myHeaders = new Headers()
  myHeaders.append('Content-Type', 'application/json')

  const raw = JSON.stringify({
    name: 'llllllllll',
    code: '91',
    sort: 41,
    status: 41,
    dataScope: 44
  })

  const requestOptions = {
    method: 'PUT',
    headers: myHeaders,
    body: raw
  }

  fetch(BASE_URL_TEST + '/roles/2008', requestOptions)
    .then((response) => response.text())
    .then((result) => console.log(result))
    .catch((error) => console.log('error', error))
}

// delete 删除角色
export const deleteRolesByIds = async () => {
  const requestOptions = {
    method: 'DELETE'
  }

  fetch(BASE_URL_TEST + '/roles/2008', requestOptions)
    .then((response) => response.text())
    .then((result) => console.log(result))
    .catch((error) => console.log('error', error))
}

// 修改角色状态
export const patchRolesByRoleIdUpdateStatus = async () => {
  const requestOptions = {
    method: 'PATCH'
  }

  fetch(BASE_URL_TEST + '/roles/1231234/status?status=1', requestOptions)
    .then((response) => response.text())
    .then((result) => console.log(result))
    .catch((error) => console.log('error', error))
}
